﻿/*
 * Jonathan
 * Created by: Jonathan Montiverdi
 * Date: 6/13/2012
 * License: http://jonathan.codeplex.com/license
 */
using System;
using Jonathan.Data;

namespace Jonathan.Logic
{
   /// <summary>
   /// Interface for docking related tasks.
   /// </summary>
   public interface IMain : IDisposable
   { 
      /// <summary>
      /// Shows the library.
      /// </summary>
      void ShowLibrary ();
      
      /// <summary>
      /// Creates a new reader with the given book.
      /// </summary>
      /// <param name="book">Book to read.</param>
      void CreateNewReader (Book book);
      
      /// <summary>
      /// Shows a definition.
      /// </summary>
      /// <param name="word">Word we are trying to define.</param>
      void ShowDefinition (string word);
      
      /// <summary>
      /// Occurs when the dock manager is disposing.
      /// </summary>
      event EventHandler Disposing;
   }
}
